package com.mhc.suzuki.dal.query;


import com.subaru.common.query.BaseCriteria;
import com.subaru.common.query.BaseQuery;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.io.Serializable;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

public class DebtCollectHisQuery extends BaseQuery implements Serializable {
    private static final long serialVersionUID = 1L;

    public DebtCollectHisQuery() {
        super();
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        super.oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * This class corresponds to the database table pcl_debt_collect_his
     */
         protected abstract static class GeneratedCriteria extends BaseCriteria {

        protected GeneratedCriteria() {
            super();
        }

        public Criteria andDebtCollectIdIsNull() {
            addCriterion("debt_collect_id is null");
            return (Criteria) this;
        }

        public Criteria andDebtCollectIdIsNotNull() {
            addCriterion("debt_collect_id is not null");
            return (Criteria) this;
        }

        public Criteria andDebtCollectIdEqualTo(Long value) {
            addCriterion("debt_collect_id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andDebtCollectIdNotEqualTo(Long value) {
            addCriterion("debt_collect_id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria anDebtCollectIdGreaterThan(Long value) {
            addCriterion("debt_collect_id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andDebtCollectIdGreaterThanOrEqualTo(Long value) {
            addCriterion("debt_collect_id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andDebtCollectIdLessThan(Long value) {
            addCriterion("debt_collect_id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andDebtCollectIdLessThanOrEqualTo(Long value) {
            addCriterion("debt_collect_id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andDebtCollectIdIn(List<Long> values) {
            addCriterion("debt_collect_id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andDebtCollectIdNotIn(List<Long> values) {
            addCriterion("debt_collect_id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andDebtCollectIdBetween(Long value1, Long value2) {
            addCriterion("debt_collect_id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andDebtCollectIdNotBetween(Long value1, Long value2) {
            addCriterion("debt_collect_id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNull() {
            addCriterion("gmt_create is null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNotNull() {
            addCriterion("gmt_create is not null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateEqualTo(LocalDate value) {
            addCriterion("gmt_create =", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotEqualTo(LocalDate value) {
            addCriterion("gmt_create <>", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThan(LocalDate value) {
            addCriterion("gmt_create >", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_create >=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThan(LocalDate value) {
            addCriterion("gmt_create <", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_create <=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIn(List<LocalDate> values) {
            addCriterion("gmt_create in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotIn(List<LocalDate> values) {
            addCriterion("gmt_create not in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_create between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_create not between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNull() {
            addCriterion("gmt_modified is null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNotNull() {
            addCriterion("gmt_modified is not null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedEqualTo(LocalDate value) {
            addCriterion("gmt_modified =", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotEqualTo(LocalDate value) {
            addCriterion("gmt_modified <>", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThan(LocalDate value) {
            addCriterion("gmt_modified >", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_modified >=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThan(LocalDate value) {
            addCriterion("gmt_modified <", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_modified <=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIn(List<LocalDate> values) {
            addCriterion("gmt_modified in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotIn(List<LocalDate> values) {
            addCriterion("gmt_modified not in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_modified between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_modified not between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNull() {
            addCriterion("order_no is null");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNotNull() {
            addCriterion("order_no is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNoEqualTo(String value) {
            addCriterion("order_no =", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotEqualTo(String value) {
            addCriterion("order_no <>", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThan(String value) {
            addCriterion("order_no >", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThanOrEqualTo(String value) {
            addCriterion("order_no >=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThan(String value) {
            addCriterion("order_no <", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThanOrEqualTo(String value) {
            addCriterion("order_no <=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLike(String value) {
            addCriterion("order_no like", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotLike(String value) {
            addCriterion("order_no not like", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoIn(List<String> values) {
            addCriterion("order_no in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotIn(List<String> values) {
            addCriterion("order_no not in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoBetween(String value1, String value2) {
            addCriterion("order_no between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotBetween(String value1, String value2) {
            addCriterion("order_no not between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardIsNull() {
            addCriterion("customer_id_card is null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardIsNotNull() {
            addCriterion("customer_id_card is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardEqualTo(String value) {
            addCriterion("customer_id_card =", value, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardNotEqualTo(String value) {
            addCriterion("customer_id_card <>", value, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardGreaterThan(String value) {
            addCriterion("customer_id_card >", value, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardGreaterThanOrEqualTo(String value) {
            addCriterion("customer_id_card >=", value, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardLessThan(String value) {
            addCriterion("customer_id_card <", value, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardLessThanOrEqualTo(String value) {
            addCriterion("customer_id_card <=", value, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardLike(String value) {
            addCriterion("customer_id_card like", value, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardNotLike(String value) {
            addCriterion("customer_id_card not like", value, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardIn(List<String> values) {
            addCriterion("customer_id_card in", values, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardNotIn(List<String> values) {
            addCriterion("customer_id_card not in", values, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardBetween(String value1, String value2) {
            addCriterion("customer_id_card between", value1, value2, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCustomerIdCardNotBetween(String value1, String value2) {
            addCriterion("customer_id_card not between", value1, value2, "customerIdCard");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdIsNull() {
            addCriterion("collector_staff_id is null");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdIsNotNull() {
            addCriterion("collector_staff_id is not null");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdEqualTo(Long value) {
            addCriterion("collector_staff_id =", value, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdNotEqualTo(Long value) {
            addCriterion("collector_staff_id <>", value, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdGreaterThan(Long value) {
            addCriterion("collector_staff_id >", value, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdGreaterThanOrEqualTo(Long value) {
            addCriterion("collector_staff_id >=", value, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdLessThan(Long value) {
            addCriterion("collector_staff_id <", value, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdLessThanOrEqualTo(Long value) {
            addCriterion("collector_staff_id <=", value, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdLike(Long value) {
            addCriterion("collector_staff_id like", value, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdNotLike(Long value) {
            addCriterion("collector_staff_id not like", value, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdIn(List<Long> values) {
            addCriterion("collector_staff_id in", values, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdNotIn(List<Long> values) {
            addCriterion("collector_staff_id not in", values, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdBetween(Long value1, Long value2) {
            addCriterion("collector_staff_id between", value1, value2, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectorStaffIdNotBetween(Long value1, Long value2) {
            addCriterion("collector_staff_id not between", value1, value2, "collectorStaffId");
            return (Criteria) this;
        }

        public Criteria andCollectDateIsNull() {
            addCriterion("collect_date is null");
            return (Criteria) this;
        }

        public Criteria andCollectDateIsNotNull() {
            addCriterion("collect_date is not null");
            return (Criteria) this;
        }

        public Criteria andCollectDateEqualTo(LocalDateTime value) {
            addCriterion("collect_date =", value, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateNotEqualTo(LocalDateTime value) {
            addCriterion("collect_date <>", value, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateGreaterThan(LocalDateTime value) {
            addCriterion("collect_date >", value, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("collect_date >=", value, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateLessThan(LocalDateTime value) {
            addCriterion("collect_date <", value, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("collect_date <=", value, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateLike(LocalDateTime value) {
            addCriterion("collect_date like", value, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateNotLike(LocalDateTime value) {
            addCriterion("collect_date not like", value, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateIn(List<LocalDateTime> values) {
            addCriterion("collect_date in", values, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateNotIn(List<LocalDateTime> values) {
            addCriterion("collect_date not in", values, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("collect_date between", value1, value2, "collectDate");
            return (Criteria) this;
        }

        public Criteria andCollectDateNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("collect_date not between", value1, value2, "collectDate");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andCollectTypeIsNull() {
            addCriterion("collect_type is null");
            return (Criteria) this;
        }

        public Criteria andCollectTypeIsNotNull() {
            addCriterion("collect_type is not null");
            return (Criteria) this;
        }

        public Criteria andCollectTypeEqualTo(Integer value) {
            addCriterion("collect_type =", value, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeNotEqualTo(Integer value) {
            addCriterion("collect_type <>", value, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeGreaterThan(Integer value) {
            addCriterion("collect_type >", value, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("collect_type >=", value, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeLessThan(Integer value) {
            addCriterion("collect_type <", value, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeLessThanOrEqualTo(Integer value) {
            addCriterion("collect_type <=", value, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeLike(Integer value) {
            addCriterion("collect_type like", value, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeNotLike(Integer value) {
            addCriterion("collect_type not like", value, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeIn(List<Integer> values) {
            addCriterion("collect_type in", values, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeNotIn(List<Integer> values) {
            addCriterion("collect_type not in", values, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeBetween(Integer value1, Integer value2) {
            addCriterion("collect_type between", value1, value2, "collectType");
            return (Criteria) this;
        }

        public Criteria andCollectTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("collect_type not between", value1, value2, "collectType");
            return (Criteria) this;
        }

        public Criteria andStaffIdIsNull() {
            addCriterion("staff_id is null");
            return (Criteria) this;
        }

        public Criteria andStaffIdIsNotNull() {
            addCriterion("staff_id is not null");
            return (Criteria) this;
        }

        public Criteria andStaffIdEqualTo(Long value) {
            addCriterion("staff_id =", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotEqualTo(Long value) {
            addCriterion("staff_id <>", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdGreaterThan(Long value) {
            addCriterion("staff_id >", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdGreaterThanOrEqualTo(Long value) {
            addCriterion("staff_id >=", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdLessThan(Long value) {
            addCriterion("staff_id <", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdLessThanOrEqualTo(Long value) {
            addCriterion("staff_id <=", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdLike(Long value) {
            addCriterion("staff_id like", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotLike(Long value) {
            addCriterion("staff_id not like", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdIn(List<Long> values) {
            addCriterion("staff_id in", values, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotIn(List<Long> values) {
            addCriterion("staff_id not in", values, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdBetween(Long value1, Long value2) {
            addCriterion("staff_id between", value1, value2, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotBetween(Long value1, Long value2) {
            addCriterion("staff_id not between", value1, value2, "staffId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(Integer value) {
            addCriterion("status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(Integer value) {
            addCriterion("status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

    }

    /**
     * This class corresponds to the database table pcl_debt_collect_his
    */
    public  static class Criteria extends GeneratedCriteria{
        protected Criteria() {
            super();
        }
    }



    @Override
    public String toString(){
        return ReflectionToStringBuilder.toString(this, ToStringStyle.DEFAULT_STYLE);
    }
}